#ifndef __losor_event_def_h__
#define __losor_event_def_h__

#include <event.h>

#ifdef __cplusplus
extern "C" {
#endif

#define THIS_PROJECT_EVENT              (0)
#define MAKE_EVENT_ID                   (USER_EVENT+THIS_PROJECT_EVENT+__COUNTER__)

#define EVT_EDWINDOW_ON_DRAW            MAKE_EVENT_ID
#define EVT_EDWINDOW_ON_LBDOWN          MAKE_EVENT_ID
#define EVT_EDWINDOW_ON_LBUP            MAKE_EVENT_ID
#define EVT_EDWINDOW_ON_LBDBCLIKCK      MAKE_EVENT_ID
#define EVT_EDWINDOW_ON_RBDOWN          MAKE_EVENT_ID
#define EVT_EDWINDOW_ON_MBDOWN          MAKE_EVENT_ID
#define EVT_EDWINDOW_ON_MBUP            MAKE_EVENT_ID
#define EVT_EDWINDOW_ON_MOUSEMOVE       MAKE_EVENT_ID
#define EVT_EDWINDOW_ON_KEYDOWN         MAKE_EVENT_ID
#define EVT_EDWINDOW_ON_CHAR            MAKE_EVENT_ID

#define EVT_VEVENT_ON_DRAW              MAKE_EVENT_ID
#define EVT_VEVENT_ON_LBDOWN            MAKE_EVENT_ID
#define EVT_VEVENT_ON_LBUP              MAKE_EVENT_ID
#define EVT_VEVENT_ON_LBDBCLICK         MAKE_EVENT_ID
#define EVT_VEVENT_ON_RBDOWN            MAKE_EVENT_ID
#define EVT_VEVENT_ON_KEYDOWN           MAKE_EVENT_ID
#define EVT_VEVENT_ON_CHAR              MAKE_EVENT_ID

#define EVT_VEXE_ON_DRAW                MAKE_EVENT_ID
#define EVT_VEXE_ON_LBDOWN              MAKE_EVENT_ID
#define EVT_VEXE_ON_LBUP                MAKE_EVENT_ID
#define EVT_VEXE_ON_LBDBCLICK           MAKE_EVENT_ID
#define EVT_VEXE_ON_RBDOWN              MAKE_EVENT_ID
#define EVT_VEXE_ON_KEYDOWN             MAKE_EVENT_ID
#define EVT_VEXE_ON_CHAR                MAKE_EVENT_ID

#define EVT_VRELATE_MAKE_ON_DRAW        MAKE_EVENT_ID
#define EVT_VRELATE_MAKE_ON_LBDOWN      MAKE_EVENT_ID
#define EVT_VRELATE_MAKE_ON_RBDOWN      MAKE_EVENT_ID
#define EVT_VRELATE_MAKE_ON_KEYDOWN     MAKE_EVENT_ID

#ifdef __cplusplus
};
#endif

#endif // __losor_event_def_h__
